package ganga.sport;

import ganga.dsp.HelloNDK;
import ganga.sportsman.Application;
import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class SportsmanTrainingActivity extends Activity {
	private Application application;
	//private Builder builder;
	
	/**
	 * Called when the activity is first created.
	 * 
	 * @param savedInstanceState
	 */
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sportsmantrainingactivity);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        
        // Application
        application = Application.getInstance();
        ++application.activityNum;
        // Builder
        //builder = new Builder(this);
	}
	
	/**
	 * Инициализация содержимого меню активности/окна/формы.
	 * Метод вызывается один раз, когда меню отображается в первый раз. 
	 * @param menu
	 * @return
	 */
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
		return true;
	}
	
	/**
	 * Метод вызывается, когда выбран пункт меню.
	 * Обработка выбора пункта меню. Метод вызывается, когда пользователь выбирает(клик) пункт меню. 
	 * @param item
	 * @return
	 */
	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		ActivityManager activityManager = (ActivityManager)getBaseContext().getSystemService (Context.ACTIVITY_SERVICE);
		String packageName = activityManager.getRunningTasks(1).get(0).topActivity.getPackageName();
		String className=activityManager.getRunningTasks(1).get(0).topActivity.getClassName();
		
		switch(item.getItemId()) {
		case R.id.menu_monitor:
			if(!className.equalsIgnoreCase(packageName+".SportsmanMainActivity")) {
				Intent intent_monitor = new Intent();
				intent_monitor.setClass(this, SportsmanMainActivity.class);
				intent_monitor.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
				onNewIntent(intent_monitor);
				startActivity(intent_monitor);
			}
			break;
		case R.id.menu_training:
			if(!className.equalsIgnoreCase(packageName+".SportsmanTrainingActivity")) {
				Intent intent_training = new Intent();
				intent_training.setClass(this, SportsmanTrainingActivity.class);
				intent_training.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
				onNewIntent(intent_training);
				startActivity(intent_training);
			}
			break;
		case R.id.menu_preference:
			if(!className.equalsIgnoreCase(packageName+".CustodianPreferencesActivity")) {
				Intent intent_preferences = new Intent();
				//intent.setClass(this, PreferencesFromXml.class);
				intent_preferences.setClass(this, CustodianPreferenceActivity.class);
				setIntent(intent_preferences);
				startActivity(intent_preferences);
			}
			break;
		case R.id.menu_exit:
			closeActivity();
			break;
		}

		//HelloNDK.hello_ext();
		String msg = "ОП!!! ОП!!!";
		HelloNDK.outlog(msg);
		
		return super.onOptionsItemSelected(item);
	}
	/**
	 * Закрытие окна.
	 * Вызывается по клику пункта меню Выход (@+id/menu_exit/R.id.menu_exit).
	 */
	private void closeActivity() {
		application.onExit=true;
		application.onTerminate();
		//System.runFinalizersOnExit(true);
		System.exit(0);
	}
	
	/**
	 * Разрушение окна.
	 * Выполняет любые окончательные очистки данных перед уничтожением окна.
	 * 
	 * * @see android.app.Activity#onDestroy()
	 */
	@Override
	public void onDestroy() {
		super.onDestroy();
	}
        
}
